import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.*;   // (Color)
import java.util.*;  // (Date)
/**
 * Tiempo: Contiene los Metodos y variables necesarios para que el reloj pueda 
 * funcionar. 
 * 
 * @author   Hector Anguiano-Vianey Ortiz
 * @version  18/10/2012
 */
public class Tiempo extends Actor
{
    private Date ini;             
    private Date end;             
    private int tiempo;   
    /**
     * Constructor para la clase Tiempo, recibe una 
     * variable de tipo entera con el numero de 
     * segundos para inicializar el reloj.
     */
    public Tiempo(int seg)
    {
        tiempo = seg;
        ini = null;
        this.setImage(new GreenfootImage("Tiempo: "+tiempo,25,Color.WHITE,null));
    }
    
    /**
     * Se verifica si se inicia el tiempo o si se tiene que actualizar
     */
    public void act() 
    {
        if(ini == null)
            this.comienzo();
        this.actualizaTiempo();
    }    
    
    /**
     * Se encarga de comenzar el tiempo
     */
    public void comienzo()
    {
        ini = new Date();
    }
    
    /**
     * Actualiza cada segundo
     */
    public void actualizaTiempo()
    {
        end = new Date();
        Letrero mnsj;
        WorldFish mundo;
        mundo=(WorldFish)super.getWorld();
        long time = tiempo-(end.getTime() - ini.getTime())/1000;
        this.setImage(new GreenfootImage(" Tiempo: "+(time),25,Color.WHITE,null));
        if( time == 0)
        {
            mnsj = new Letrero(" P E R D I S T E ");
            mundo.addObject(mnsj,300,200);
            Greenfoot.stop();
            mundo.menu();
        }
    }   
}